Happy software developers solve problems better: psychological measurements in empirical software engineering
نویسندگان
چکیده
For more than thirty years, it has been claimed that a way to improve software developers' productivity and software quality is to focus on people and to provide incentives to make developers satisfied and happy. This claim has rarely been verified in software engineering research, which faces an additional challenge in comparison to more traditional engineering fields: software development is an intellectual activity and is dominated by often-neglected human factors (called human aspects in software engineering research). Among the many skills required for software development, developers must possess high analytical problem-solving skills and creativity for the software construction process. According to psychology research, affective states-emotions and moods-deeply influence the cognitive processing abilities and performance of workers, including creativity and analytical problem solving. Nonetheless, little research has investigated the correlation between the affective states, creativity, and analytical problem-solving performance of programmers. This article echoes the call to employ psychological measurements in software engineering research. We report a study with 42 participants to investigate the relationship between the affective states, creativity, and analytical problem-solving skills of software developers. The results offer support for the claim that happy developers are indeed better problem solvers in terms of their analytical abilities. The following contributions are made by this study: (1) providing a better understanding of the impact of affective states on the creativity and analytical problem-solving capacities of developers, (2) introducing and validating psychological measurements, theories, and concepts of affective states, creativity, and analytical-problem-solving skills in empirical software engineering, and (3) raising the need for studying the human factors of software engineering by employing a multidisciplinary viewpoint.
منابع مشابه
Are Happy Developers More Productive? - The Correlation of Affective States of Software Developers and Their Self-assessed Productivity
For decades now, it has been claimed that a way to improve software developers’ productivity is to focus on people. Indeed, while human factors have been recognized in Software Engineering research, few empirical investigations have attempted to verify the claim. Development tasks are undertaken through cognitive processing abilities. Affective states – emotions, moods, and feelings have an imp...
متن کاملHow Novice Software Engineers Apply User Interface Design Patterns: An Empirical Study
Conveying a positive User eXperience (UX) is essential for the success of any application, as it affects use a product. Nevertheless, novice software engineers may have difficulties in finding an appropriate solution for UX problems due to their lack of knowledge in interface design. User interface design patterns are well-working solutions to user problems that occur repeatedly which can help ...
متن کاملHuman-Oriented Software Engineering
Software developers continue to face considerable challenges designing, implementing, and maintaining software systems despite steady advances in software engineering (SE). The software engineering literature contains numerous tool designs that aim to help developers perform complex information-intensive tasks. Regardless of the particular problems these tools aim to solve, they often address f...
متن کاملWhat Scientists and Engineers Think They Know About Software Engineering: A Survey
Scientists and engineers devote considerable effort to developing large, complex codes to solve important problems. Our personal experience with such teams suggested that, while they often develop good code, many of these developers are frequently unaware of how various software engineering practices can help them write better code. Our hypothesis is that many of these developers “don’t know wh...
متن کاملA Comprehensive Review and Analysis on Object-oriented Software Metrics in Software Measurement
The software development is dynamic and is always undergoing major changes. Today a huge number of tools and methodologies are available for software development and software development refers to all activities that go into producing information system solution. System development activities consist of system analysis, modeling, design, implementation, testing and maintenance and further the s...
متن کامل